package dao;

import pojo.Food;
import pojo.FoodType;

import java.util.List;

public interface FoodDao {

    /**
     * 按照条件查找菜品对象列表
     * @param food
     * @return
     */
    public List<Food> findFoodListByParam(Food food);

    /**
     * 按照条件查找菜品对象列表的菜品个数
     * @param food
     * @return
     */
    public Integer countFindFoodListByParam(Food food);

    /**
     * 获取所有菜品类型对象
     * @return
     */
    public List<FoodType> getAllFoodType();

    /**
     * 删除
     * @return
     * */
    public Integer delete(String foodId);

    /**
     * 删除
     * @return
     * */
    public Integer realDelete(String foodId);

    /**
     * 添加
     * @return
     * */
    public Integer add(Food food);

    /**
     * 编辑
     * @return
     * */
    public Integer edit(Food food);

    /**
     * 通过id 查找food对象
     * @param foodId
     * @return
     */
    public Food findFoodById(String foodId);

    /**
     * 恢复菜品
     * @param foodId
     * @return
     */
    public Integer restore(String foodId);

    /**
     * 添加菜品类型
     * @param foodTypeName
     * @return
     */
    public Integer addType(String foodTypeName);

    /**
     * 检验商品类型名是否重复
     * @param foodTypeName
     * @return
     */
    public FoodType checkTypeName(String foodTypeName);

    /**
     * 修改所有菜品类型状态
     * @param foodTypeId
     * @return
     */
    public Integer changeTypeStatus(String foodTypeId);

    /**
     * 将所有菜品类型状态设置为0
     */
    public void setStatusTo0();

    /**
     * 删除菜品类型
     * @param foodTypeId
     * @return
     */
    public Integer deleteFoodType(String foodTypeId);

    /**
     * 获取所有被设为可用的菜品类型
     * @return
     */
    public List<FoodType> findAllFoodTypeInUse();

    /**
     * 查询不参与排序的菜品id
     * @return
     */
    public List<Object> findNoSortFoodId();

}
